#include "musicwindow.h"
#include "ui_musicwindow.h"
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>

musicWindow::musicWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::musicWindow)
{
    ui->setupUi(this);
    this->setWindowFlag(Qt::FramelessWindowHint);//设置窗口为无边框
    this->setAttribute(Qt::WA_TranslucentBackground);//把窗口设置为透明

    m_pModel = new QStandardItemModel(ui->tableView);//实例化模型，并且指定模型依赖的控件
    //将数据模型设置到表对象上
    ui->tableView->setModel(m_pModel);

    //循环添加三行数据
    for(int index = 0; index != 3; ++index)
    {
    //添加一行数据
    //StandardItem是一个可以存放数据的容器，相当于一个变量，多个StandardItem可以存放在一个QList中
    //这个QList就是整个QStandardItemModel中的一行数据
        m_pModel->appendRow(QList<QStandardItem *>()<< new QStandardItem(QString("第%1行，第0列").arg(index))<< new QStandardItem(QString("第%1行，第1列").arg(index)));
    }

    QStringList fonts;
    fonts << "歌名" << "歌手" << "专辑" << "时长";
    m_pModel->setHorizontalHeaderLabels(fonts);

    http = new QNetworkAccessManager(this);//实例化网络访问对象
    connect(http,SIGNAL(finished(QNetworkReply *)),this,SLOT(get_http_mes_slot(QNetworkReply *)));
}

musicWindow::~musicWindow()
{
    delete ui;
}

void musicWindow::setComebackWindow(QWidget *pWindow)
{
    pComebackWindow = pWindow;
}

void musicWindow::on_pushButton_clicked()
{
    this->close();
    pComebackWindow->show();
}

void musicWindow::get_http_mes_slot(QNetworkReply *reply)
{
    int state = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
    if(state != 200)
    {
        qDebug()<<"网络连接错误";
        return;
    }
    qDebug()<<"网络访问成功";
    QByteArray data = reply->readAll();//读取网页返回的数据
    qDebug()<<data;
//    QString str(data);
//    parseJson(str);
}

void musicWindow::on_pushButton_3_clicked()
{
    QString seach = ui->lineEdit->text();//获得文本框上的内容
    //构建网易云音乐请求连接
    QString address = "http://music.163.com/api/search/get/web?csrf_token=hlpretag=&hlposttag=&s=" ;
    address+=seach;
    address += "&type=1&offset=0&total=true&limit=10";
    qDebug()<<address;
    //发送请求
    http->get(QNetworkRequest(QUrl(address)));//搜素歌曲信息
}

void musicWindow::parseJson(QString json)
{

}
